package cn.ren.cloud.service;

import cn.ren.cloud.domain.PayOrder;
import cn.ren.cloud.dto.AlipayNotifyDto;
import cn.ren.cloud.dto.PayApplyDto;
import cn.ren.cloud.dto.PayTxLocalHandlerDto;
import com.baomidou.mybatisplus.service.IService;

/**
 * <p>
 * 服务类
 * </p>
 *
 * @author Ren
 * @since 2023-01-10
 */
public interface IPayOrderService extends IService<PayOrder> {

    /**
     * 查询订单号
     *
     * @param orderNo
     * @return
     */
    PayOrder selectByOrderNo(String orderNo);

    /**
     * 调用支付接口
     *
     * @param payApplyDto
     * @return
     */
    String apply(PayApplyDto payApplyDto);

    /**
     * 支付宝异步回调
     *
     * @param alipayNotifyDto
     * @return
     */
    String callback(AlipayNotifyDto alipayNotifyDto);

    /**
     * 支付结果处理程序
     *
     * @param payTxLocalHandlerDto
     */
    void payResultHandler(PayTxLocalHandlerDto payTxLocalHandlerDto);
}
